#ifndef __MODELEDITOR_TEXTUREVIEW_H
#define __MODELEDITOR_TEXTUREVIEW_H

#include "../../JuceLibraryCode/JuceHeader.h"

class TextureViewComponent :	public Component,
								public ComboBoxListener
{
public:
    //==============================================================================
	TextureViewComponent( const TCHAR* texName );
	~TextureViewComponent()		{ }

	void paint(Graphics& g);
	void resized();
	void comboBoxChanged(ComboBox* comboBoxThatHasChanged);
	

	UINT	GetColorBits()		{ return m_colorbits; }
	float	GetImageScale()		{ return m_ImageScale; }
	UINT	GetImageWidth()		{ return m_ImageWidth;	}
	UINT	GetImageHeight()	{ return m_ImageHeight; }
    //==============================================================================
    juce_UseDebuggingNewOperator

private:
	const TCHAR* m_TextureName;
	Image argbImage, rgbImage;
	Image alphaImage;

	ScopedPointer<ComboBox> m_ScaleComboBox;
	ScopedPointer<Label>	m_ScaleLabel;
	ScopedPointer<ComboBox> m_ChannelComboBox;
	ScopedPointer<Label>	m_ChannelLabel;

	UINT	m_colorbits;
	float	m_ImageScale;
	float	m_RenderScale;

	UINT	m_ImageWidth, m_ImageHeight;

    //==============================================================================
    // (prevent copy constructor and operator= being generated..)
    TextureViewComponent(const TextureViewComponent&);
    const TextureViewComponent& operator= (const TextureViewComponent&);
};


#endif